<!-- saved from url=(0014)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Troubleshooting</title>

<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {color: #A02C43}
-->
</style>
</head>

<body>
<table width="100%" cellpadding="0" cellspacing="0">
        <tr>
            <td width="400">

                <span class="caption">MultiPowUpload </span><span class="yellow">3.1</span>
                <br /><span class="gray">Troubleshooting</span>
            </td>
            <td>&nbsp;
                
            </td>
            <td align="char" width="200">

                   <img src="world.jpg" align="middle" hspace="5" /><b><a target="_blank" href="http://www.element-it.com/multiple-file-upload/flash-uploader.aspx">Home
                    page</a></b><br />
                <img src="email.jpg" align="middle" hspace="5" /><b><a target="_blank" href="http://www.element-it.com/contacts.aspx">Contact
                    support</a></b>
            </td>
        </tr>
</table>
<div id="nstext">
<p class="topic">Troubleshooting</p>
<p>Here you can find most often errors and  problems that can occur while working with MultiPowUpload. Some articles are  joined in groups and relate to the technology of the file processing code on server  side.<br />
</p>

<ul>
<li>
<a href="#anyhttp" >Any HTTP error</a>
</li>
<li>
<a href="#session" >Lost session or authentication info</a>
</li>
<li>
<a href="#asp.old">ASP (ASP.OLD) file processing script</a>
</li>
<li>
<a href="#aspnet">ASP.NET file processing script</a>
</li>
<li>
<a href="#iis7">IIS7 ASP.NET file processing script</a>
</li>
<li>
<a href="#php">PHP file processing script</a>
</li>
</ul>
<p class="topic" id="anyHttp">Any HTTP error:</p>
<span style="font: 15px/17px Verdana, Arial, Helvetica, sans-serif;border:  1px  solid #E0E0E0;padding: 5px;display:block;text-align:left;     background: #FDF2F2;">Read the following paragraph in case of  any problems: <br />
  We advise  to install HTTP Sniffer for testing period to see server replies and errors.  You may use an excellent <a target="_blank" href="http://www.ieinspector.com/httpanalyzer/download.html">HTTP Analyzer</a> (15 days trial) or free <a target="_blank" href="http://www.wireshark.org/">Wireshark</a>. HTTP Sniffer is also useful for seeing  which data MultiPowUpload transfers and their format.</p>
  <p>All the HTTP errors and their short  descriptions can be seen at <a target="_blank" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">w3.org</a> website.</p></span>
<p class="topic" id="session">Lost session or authentication info</p>
<p>It is a known <a rel="nofollow" target="_blank" href="http://bugs.adobe.com/jira/browse/FP-419" title="http://bugs.adobe.com/jira/browse/FP-419">Flash Player bug</a>,   but Adobe still can't fix it.<br />
  FlashPlayer in non-IE browsers doesn't   pass the cookies during the upload. Therefore, sessions are different on the page with   Flash and upload script.<br />
  <strong><br />
  Workaround:</strong> MultiPowUpload sends   cookies (and session ID) in &quot;MultiPowUpload_browserCookie&quot; Form filed   value, but on server side you need some code that parses this value and   sets to Cookies collection. MultiPowUpload includes ASP.NET (Global.asax   in the root) and PHP samples. <br />
  <br />
There is another problem related   to this bug: if  the cookies marked as <a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/ms533046%28VS.85%29.aspx" title="http://msdn.microsoft.com/en-us/library/ms533046%28VS.85%29.aspx">HTTPOnly</a> on the web server,    MultIPowUpload can't access them (because it uses JavaScript to get   browser cookies).</p>
<p>If you have HTTPOnly mode enabled on your web server (most often on IIS   server with ASP.NET 2.x and later), you should disable it in order to   allow MultiPowUpload access cookies. </p>
<p><strong> Solution for IIS server with ASP.NET:</strong></p>
<pre>
&lt;httpCookies httpOnlyCookies="false" /&gt;
</pre>
It is a parameter in the web.config file of your application, but for some reason this parameter won't work with .NET 2.0

Here is the sample global.asax file (place it into the root folder of your application) that marks all cookies as non-httponly:
<pre>
&lt;script runat="server"&gt;
void Application_EndRequest(object sender, EventArgs e) {
if(Response.Cookies.Count > 0)
       foreach(string s in Response.Cookies.AllKeys)        
               Response.Cookies[s].HttpOnly = false;
}
&lt;/script&gt;
</pre>

<p><strong>Solution for PHP (5.2 or above):</strong>  <br />
Set the value of the <a href="http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly" target="_blank">session.cookie_httponly</a> parameter to false.<br />
ini_set(&quot;session.cookie_httponly&quot;,&nbsp;0);</p>
<p>&nbsp;</p>
<p class="topic" id="asp.old">ASP (ASP.OLD) file processing script</p>
<span class="style1"><b>Error 403</b></span><br>See solution here <a target="_blank" href="http://support.microsoft.com/kb/327659">http://support.microsoft.com/kb/327659</a><br>
<br> 
<span class="style1"><b>Write Permissions to UploadedFiles\ folder</b><br>
<b>Error like "Access to the path "C:\Inetpub\wwwroot\Upload\UploadedFiles\myfile.jpg" is denied"</b></span><br>
The directory where the uploaded files will be saved to on the web server must have Read, Write, and Delete NTFS permissions for the <strong>Anonymous</strong> or authenticated user (if the Windows authentication is used): <br />
Right-click the file in the Explorer, choose <b>"Properties"</b> and select the <strong>Security</strong> tab. Click <b>"Add"</b> to add an appropriate user or a group. Highlight the necessary account, and check the boxes for the desired access.<br>
<br>

<p class="topic" id="aspnet">ASP.NET file processing script</p>
<span class="style1"><b>Create a web application in the folder with the script<br>
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.</b></span><br>
ASP.NET code works only in folders on the server with created "web application". To create it: Open Control panel->Administrative tools->
Internet Information Services->Expand "Default web site", right  click  the necessary folder and select "Properties" in the context menu.
In the folder properties dialog box, open "Directory" tab and click "Create" button (create Application), click "ok". <br><br>
<span class="style1"><b>Write Permissions to UploadedFiles\ folder</b><br>
<b>Error like "Access to the path "C:\Inetpub\wwwroot\Upload\UploadedFiles\myfile.jpg" is denied"</b></span><br>
You should grant <strong>NETWORK SERVICE</strong> (for IIS 6) or <strong>ASPNET</strong> (IIS6)  or other necessary account, write an access to a folder where uploaded files will be saved, right-click the file in the Explorer, choose <strong>"Properties"</strong> and select the <strong>Security</strong> tab. Click <strong>"Add"</strong> to add the appropriate user or a group. Highlight the necessary account, and check the boxes for the desired access.
<br>
<br>
<span class="style1"><b>Error "System.Web.HttpException: Maximum request length exceeded"</b><br />
<b>Upload large files</b></span><br>
See solution <a target="_blank" href="http://www.element-it.com/system.web.httpexception-maximum-request-length-exceeded.aspx">here</a><br />
<br>

<b><span class="style1">Error "System.Web.HttpException: Request timed out"</span></b><br>
See solution <a target="_blank" href="http://www.element-it.com/system.web.httpexception-request-timed-out.aspx">here</a><br />
<br>

<b><span class="style1">Error "OutOfMemoryException: Exception of type System.OutOfMemoryException was thrown"</span></b><br>
See solution <a target="_blank" href="http://www.element-it.com/system.outofmemoryexception-was-thrown.aspx">here</a><br />
<br>

<p class="topic" id="iis7">IIS7 ASP.NET file processing script</p>
<span class="style1"><b>
HTTP Error 404.13 - Not Found<br>
Description: The request filtering module is configured to deny a request that exceeds the request content length.</b><br>
<b>Upload files greater than 30 MB</b></span><br>
By default, requestFiltering that has <strong>MaxAllowedContentLength</strong> property is enabled in IIS 7. It specifies, in bytes, the maximum length of the content in a request. 
The default is 30000000 (approximately 30 megabytes).
To change this value, you must include the following code in your Web.config file if you want to apply this setting only to you application.
If you want to change this setting for all of the computer and not just this ASP.NET application, you must modify the Machine.config file. By default, the element is set to the following parameters in the Machine.config file: The Machine.config file is located in the \System Root\Microsoft.NET\Framework\Version Number\CONFIG directory.
<textarea cols="100" rows="10" wrap="off">
<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <requestLimits maxAllowedContentLength="2147483648"/>  
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>
</textarea>
<br><br>
If you have an error that requestFiltering cannot be overriden you must edit the mashine.config file 
and change the string <br> 
<code>&lt;section name="requestFiltering" overrideModeDefault="Deny" /&gt;</code> <br>
to 
 <code>&lt;section name="requestFiltering" overrideModeDefault="Allow" /&gt;</code><br>
 
<br>
<p class="topic" id="php">PHP</p>
<span class="style1"><b>
Information related to files upload in PHP
</b></span><br>
You can find a lot of information related to the file upload in the PHP code at this website <a target="_blank" href="http://de3.php.net/manual/en/features.file-upload.php">http://de3.php.net/manual/en/features.file-upload.php</a><br>
By default, <strong>uploadfiles.php</strong> script shows an error constant.
See the description of all constants related to the upload at <a target="_blank" href="http://php.net/manual/en/features.file-upload.errors.php">http://php.net/manual/en/features.file-upload.errors.php</a><br><br>

<span class="style1"><b>
php.ini settings related to upload
</b></span><br />
<p>The most  common cause of problems related to the file uploads is PHP itself. The following php.ini  settings effect the file uploads:<br />
    <br />
    <strong>file_uploads  boolean</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="83"><p align="center">Name</p></td>
    <td width="51"><p align="center">Default</p></td>
    <td width="133"><p align="center">Changeable</p></td>
    <td width="362"><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td width="83"><p>file_uploads</p></td>
    <td width="51"><p>&quot;1&quot;</p></td>
    <td width="133"><p>PHP_INI_SYSTEM</p></td>
    <td width="362"><p>PHP_INI_ALL in PHP &lt;= 4.2.3. Available    since PHP 4.0.3</p></td>
  </tr>
</table>
<p><br />
  This parameter has to be set to 1 to accept file uploads, value 0 is not  to accept the file uploads. Default value is  1.<br />
  <br />
  <strong>post_max_size  integer</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="82"><p align="center">Name</p></td>
    <td width="51"><p align="center">Default</p></td>
    <td width="133"><p align="center">Changeable</p></td>
    <td width="358"><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td width="82"><p>post_max_size</p></td>
    <td width="51"><p>&quot;8M&quot;</p></td>
    <td width="133"><p>PHP_INI_PERDIR</p></td>
    <td width="358"><p>PHP_INI_SYSTEM in PHP &lt;= 4.2.3. Available    since PHP 4.0.3</p></td>
  </tr>
</table>
<p><br />
    <br />
  This is the maximum size of a POST request that PHP will accept. The default  for PHP 4.3.x is 8M. If the file(s) you are trying to upload have a single or  combined size over this value, PHP will exit. It affects the total post data.  For example, if it has been set to 8M and you are uploading four 3M files, PHP  will not accept the files. You could, however, upload the four 3M files  individually without a problem with this setting.<a name="ini.post-max-size" id="ini.post-max-size"></a><br />
  To  upload large files, this value must be larger than <a target="_blank" href="http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize">upload_max_filesize</a>. <br />
  If  the memory limit is enabled by your configure script, <a target="_blank" href="http://www.php.net/manual/en/ini.core.php#ini.memory-limit">memory_limit</a> also affects the file uploading. Generally speaking, <a target="_blank" href="http://www.php.net/manual/en/ini.core.php#ini.memory-limit">memory_limit</a> should be larger than <em>post_max_size</em>. <br />
  If the size of post  data is greater than post_max_size, the $_POST and $_FILES <a target="_blank" href="http://www.php.net/manual/en/language.variables.predefined.php#language.variables.superglobals" title="PHP Superglobals">superglobals</a> are empty. It can be tracked in  various ways, e.g. by passing the $_GET variable to the script  processing the data, i.e. &lt;form action=&quot;edit.php?processed=1&quot;&gt;,  and then checking if $_GET['processed'] is set. <br />
  <a name="ini.memory-limit" id="ini.memory-limit"></a><strong>memory_limit</strong><strong> integer</strong></p>
<table border="1" cellpadding="0">
  <tr>
    <td><p align="center">Name</p></td>
    <td><p align="center">Default</p></td>
    <td><p align="center">Changeable</p></td>
    <td><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td><p>memory_limit</p></td>
    <td><p>&quot;128M&quot;</p></td>
    <td><p>PHP_INI_ALL</p></td>
    <td><p>&quot;8M&quot; before PHP 5.2.0, &quot;16M&quot; in PHP 5.2.0</p></td>
  </tr>
</table>
<p>It sets the maximum  amount of memory in bytes that a script is allowed to allocate. It helps  to prevent poorly written scripts for eating up all available memory on a server.  Note that to have no memory limit, set this directive to -1. </p>
<p><strong>upload_max_filesize  integer</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td><p align="center">Name</p></td>
    <td><p align="center">Default</p></td>
    <td><p align="center">Changeable</p></td>
    <td><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td><p>upload_max_filesize</p></td>
    <td><p>&quot;2M&quot;</p></td>
    <td><p>PHP_INI_PERDIR</p></td>
    <td><p>PHP_INI_ALL in PHP &lt;= 4.2.3.</p></td>
  </tr>
</table>
<p><br />
    <br />
  This is the maximum size of an individual uploaded file. The default for PHP  4.3.x is 2M.<br />
  <br />
  <strong>max_input_time  ineger</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td><br />
      Name </td>
    <td><p align="center">Default</p></td>
    <td><p align="center">Changeable</p></td>
    <td><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td><p>max_input_time</p></td>
    <td><p>&quot;-1&quot;</p></td>
    <td><p>PHP_INI_PERDIR</p></td>
    <td><p>Available since PHP 4.3.0.</p></td>
  </tr>
</table>
<p><br />
  This is the maximum time PHP will accept input in seconds.</p>
<p><a name="ini.upload-tmp-dir" id="ini.upload-tmp-dir"></a><strong>upload_tmp_dir</strong><strong> string</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td><p align="center">Name</p></td>
    <td><p align="center">Default</p></td>
    <td><p align="center">Changeable</p></td>
    <td><p align="center">Changelog</p></td>
  </tr>
  <tr>
    <td><p>upload_tmp_dir</p></td>
    <td><p>NULL</p></td>
    <td><p>PHP_INI_SYSTEM</p></td>
    <td><p>&nbsp;</p></td>
  </tr>
</table>
<p>The temporary  directory used for storing files when doing file upload. It must be writable by  whatever user PHP is running. If non-specified PHP will use the system's  default. <br />
    <br />
    <br />
    <strong>Definition of  PHP_INI_* constants</strong><strong> </strong></p>
<table border="1" cellpadding="0">
  <tr>
    <td><br />
      Constant </td>
    <td><p align="center">Value</p></td>
    <td><p align="center">Meaning</p></td>
  </tr>
  <tr>
    <td><p>PHP_INI_USER</p></td>
    <td><p>1</p></td>
    <td><p>Entry can be set in user scripts or in <a target="_blank" href="http://www.php.net/manual/en/configuration.changes.php#configuration.changes.windows" title="Changing PHP configuration via the Windows registry">Windows registry</a> </p></td>
  </tr>
  <tr>
    <td><p>PHP_INI_PERDIR</p></td>
    <td><p>2</p></td>
    <td><p>Entry can be set in php.ini, .htaccess or httpd.conf</p></td>
  </tr>
  <tr>
    <td><p>PHP_INI_SYSTEM</p></td>
    <td><p>4</p></td>
    <td><p>Entry can be set in php.ini or httpd.conf</p></td>
  </tr>
  <tr>
    <td><p>PHP_INI_ALL</p></td>
    <td><p>7</p></td>
    <td><p>Entry can be set anywhere</p></td>
  </tr>
</table>
<br />
<span class="style1"><b>Change  Apache settings</b></span>
<p>If you do not have access to change php.ini and your website is running on  apache, you may be able to include these settings in an .htaccess file. It is  possible only if  &quot;AllowOverride Options&quot; or &quot;AllowOverride All&quot; privileges  have been set (by you, by your ISP, or by a system administrator) in httpd.conf.<br />
    <br />
  If it is feasible, or if you want to try the solution on your own, create or  edit a file named .htaccess (assuming you want a 6Mb max attachment size):<br />
  php_value  post_max_size &quot;7M&quot;<br />
  php_value upload_max_filesize &quot;6M&quot;<br />
  php_value max_input_time &quot;120&quot;</p>
<p><span class="style1"><b>Permissions </b></span></p>
  <p>If it is a Window server,  nothing is required and by default the window gives all permissions.
  </p>
For Linux and Unix you have to set write (Chmod)  permission to both temp and destination directories to allow uploaded files to  be stored.<br />
<br>
  </p>

 
</body>
</html>